namespace JGSY.CMS.LowCode.Platform.Infrastructure.Configuration.ServiceModules
{
    /// <summary>
    /// 模块权限枚举
    /// 定义系统中各个模块的权限标识符
    /// </summary>
    public enum ModulePermission
    {
        /// <summary>
        /// 核心基础模块 - 始终启用，不受权限控制
        /// </summary>
        CoreServices = 0,

        /// <summary>
        /// 日志服务模块权限
        /// </summary>
        LoggingServices = 1,

        /// <summary>
        /// 认证授权模块权限
        /// </summary>
        AuthenticationServices = 2,

        /// <summary>
        /// 缓存服务模块权限
        /// </summary>
        CacheServices = 3,

        /// <summary>
        /// 数据库服务模块权限
        /// </summary>
        DatabaseServices = 4,

        /// <summary>
        /// 性能优化模块权限
        /// </summary>
        PerformanceServices = 5,

        /// <summary>
        /// 应用业务模块权限
        /// </summary>
        ApplicationServices = 6,

        /// <summary>
        /// 系统优化模块权限
        /// </summary>
        SystemOptimizationServices = 7,

        /// <summary>
        /// Swagger文档模块权限
        /// </summary>
        SwaggerServices = 8,

        /// <summary>
        /// 高级监控模块权限
        /// </summary>
        AdvancedMonitoringServices = 9,

        /// <summary>
        /// 多租户高级功能权限
        /// </summary>
        MultiTenantAdvancedServices = 10
    }

    /// <summary>
    /// 中间件权限枚举
    /// </summary>
    public enum MiddlewarePermission
    {
        /// <summary>
        /// 核心中间件 - 始终启用，不受权限控制
        /// </summary>
        CoreMiddleware = 0,

        /// <summary>
        /// 性能优化中间件权限
        /// </summary>
        PerformanceMiddleware = 1,

        /// <summary>
        /// 日志中间件权限
        /// </summary>
        LoggingMiddleware = 2,

        /// <summary>
        /// 认证授权中间件权限
        /// </summary>
        AuthenticationMiddleware = 3,

        /// <summary>
        /// 路由中间件权限
        /// </summary>
        RoutingMiddleware = 4,

        /// <summary>
        /// 系统优化中间件权限
        /// </summary>
        SystemOptimizationMiddleware = 5,

        /// <summary>
        /// Swagger中间件权限
        /// </summary>
        SwaggerMiddleware = 6,

        /// <summary>
        /// 安全中间件权限
        /// </summary>
        SecurityMiddleware = 7
    }
}
